SCG Banner
Today's birthdays : yam sandwich

Help:MvM Mission Processing


Notice - This article is a mess:
  • This article does not yet fit the standards of other articles on this wiki, it is recommended that it be cleaned up soon!
Notice - This article is unfinished:
  • This article is not yet considered finished, the information on it may still be useful enough to leave draft stage, but it requires more to be "complete".

MvM Mission Processing is a surprisingly complex process as most missions only work under specific scenearios or feature an abundance of extra required downloadable content. In order to drastically improve server and player performance with the sheer number of missions we host, we have a fairly straightfoward system in place to process the bulk of content we host.

  1. Terminology
  2. Pages and Tools
    1. Content
    2. Tours
    3. Health Checkup
    4. Scripts Toolbox
  3. Content Processing
    1. Standard Mission Parser
      1. Customized Information
    2. Map Processing
      1. Customized Information
      2. Additional Settings
  4. Final Steps
    1. Data Sheet
    2. Missioncycle

Terminology

Popfile: Popfiles are scripts that either

Mission File: These are popfiles that contain mission data that the server loads to run a mission.

Template File: These are popfiles that strictly contain specific robot configurations that can be used as dependencies in mission popfiles.

Orphan Mission: These are missions that are not associated with any map located in the server directory. By definition, template files fall under this category, but a late update to data entry will be able to strip these out entirely.

Pages and Tools

Content

The content page is an organized list of maps and accompanying missions that are either on rotation or have the potential to be. It is the quickest way to traverse the list of maps or missions that would need to be maintained.

Tours

The tours page is where mission tours can be managed. Previously, this section is where missions could be associated with a tour, but this is now done on the popfile page.

Health Checkup

The health checkup page is a series of lists that contain information related to general upkeep. Broken missions, missing downloads, etc.

Scripts Toolbox

The scripts toolbox is located on the main MvM panel page and contains a series of scripts related to server upkeep that wouldn't be found in any specific page elsewhere.

Content Processing

Ideally speaking, the order of processing should start with missions, and end with maps. Maps generally require a reprocessing if any associated mission has been.

Standard Mission Parser

SCG uses a mission parser to extract important information out of a popfile that is used for assorted purposes, this includes the following:

  1. Basic information such as the number of waves
  2. The population templates that are required as well as those included
  3. A list of required sounds, HUD icons, external scripts, model / materials, etc
  4. Important details such as potential player count limitations
  5. If the mission requires Sigmod or additional Pineapple processing

These details are stored in a database of mission information. Entries in this database can be edited later on with additional information like author credits, server rotation limitations, what tours they belong to, etc.

Missions can be processed by visiting their respective content page, and running the script that can be found in the scripts section.

Customized Information

Map Processing

Map database records contain important information meant for server upkeep and organization. These records often contain the following:

  1. A list of missions associated with a given map.
  2. A list of broken / unplayable missions associated with a given map.
  3. A complete list of downloads that the maps needs based on the missions it provides.
  4. Flags to determine what server rotations this map is apart of.
  5. Flags to determine what server vote only rotations this map is apart of.

Map database records are not automatically updated at this time and will need to be manually reprocessed in any of the following scenarios.

  1. The map has been updated to a new version.
  2. The map contains missions that were reprocessed to fix missing templates or downloads.
  3. Missions tied to a particular map were added or removed.

A map can be reprocessed at any time by visiting the Reprocess Map script in the scripts section, or every map can be reprocessed at once using the

Customized Information

Maps can contain custom information such as a display name and authors. This can be edited by visiting the map's content page and using related form.

Additional Settings

At this time, it is not possible to adjust the map rotation options from this panel.

Final Steps

After any applicable maintenance and setting changes have been done, there are only a few more steps that need to take place.

Data Sheet

Logo.png
An example of an MvM data sheet
The data sheet (name pending) is a large config file used by the Mission Utilities plugin. It contains things like custom settings or select missions that may need to be filtered out. Whenever anything on the data sheet is adjusted, changes will not show up until the file is regenerated. It can be updated manually or automatically every morning at 6:00 AM.

The data sheet keeps track of the following things, and will need to be regenerated before any of the following's changes take effect.

  1. Custom mission names (Ex. [ADV] Big Rock Beatdown)
  2. Custom map names (Ex. Area 52)
  3. Broken missions that need to be filtered
  4. Sigmod missions that need to be filtered in the event that sigmod is not working

When the sheet is regenerated manually, the plugin will need to be reloaded for the changes to take effect. If the plugin is changed, the map must also be manually changed because it will temporarily break voting functionality.

Missioncycle

The missioncycle is a type of config file that contains all avaliable missions the server has, split into several categories. The missioncycle file we use is automatically generated based on the missions we have, split into assorted categories. This file is read from sequentially as missions are played and finished, when a mission is complete, it will locate it on the file and cycle to the next mission in the same category.

In order for a map to appear in the vote menu, or in the server's general rotation, it needs to have at least one instance in the missioncycle. With our maps we have designated as "vote only", these instances will always force the server to continue to natural flow of missions it would have taken earlier if the server wasn't voted onto a different map.

The missioncycle is often the last thing that needs to be regenerated with any major changes, such as the addition, removal, or update of a map and or mission. It is automatically regenerated every day at 6:05 AM server time, but can be done manually via the Scripts Toolbox.